/**
 * @(#) FileUtil.java 2014/12/08 08:07
 */
package com.banksoft.cps.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;

/**
 * @version 1.0
 */
public class FileUtil {
    public static boolean isImage(MultipartFile file){
        // ����ļ���׺��
        String filePath = file.getOriginalFilename();
        String extendName = filePath.substring(filePath.lastIndexOf(".") + 1,
                filePath.length());
        // ����ͼƬ��׺������
        String imgeArray[] = {"jpg", "png", "jpeg", "ico","gif","bmp"};
        // ������������
        for (int i = 0; i < imgeArray.length; i++) {
            // �жϷ���ȫ�����͵ĳ���
            if (imgeArray[i].equals(extendName.toLowerCase())) {
                return true;
            }
        }
        return false;
    }

    /**
     * �ж��Ƿ�Ϊ�ļ�����
     * @param file
     * @return
     */
    public static boolean isFile(MultipartFile file){
        // ����ļ���׺��
        String filePath = file.getOriginalFilename();
        String extendName = filePath.substring(filePath.lastIndexOf(".") + 1,
                filePath.length());
        // �����ļ���׺������       doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2
        String imgeArray[] = {"doc", "docx", "xls", "xlsx","ppt","htm","html","txt","zip","rar","gz","bz2"};
        // ������������
        for (int i = 0; i < imgeArray.length; i++) {
            // �жϷ���ȫ�����͵ĳ���
            if (imgeArray[i].equals(extendName.toLowerCase())) {
                return true;
            }
        }
        return false;
    }

    /**
     * �ж��Ƿ�Ϊflash����
     * @param file
     * @return
     */
    public static boolean isFlash(MultipartFile file){
        // ����ļ���׺��
        String filePath = file.getOriginalFilename();
        String extendName = filePath.substring(filePath.lastIndexOf(".") + 1,
                filePath.length());
        // �����ļ���׺������
        String imgeArray[] = {"swf", "flv"};
        // ������������
        for (int i = 0; i < imgeArray.length; i++) {
            // �жϷ���ȫ�����͵ĳ���
            if (imgeArray[i].equals(extendName.toLowerCase())) {
                return true;
            }
        }
        return false;
    }

    /**
     * �ж��Ƿ�Ϊmedia����
     * @param file
     * @return
     */
    public static boolean isMedia(MultipartFile file){
        // ����ļ���׺��
        String filePath = file.getOriginalFilename();
        String extendName = filePath.substring(filePath.lastIndexOf(".") + 1,
                filePath.length());
        // �����ļ���׺������
        String imgeArray[] = {"swf", "flv","mp3","wav","wma","wmv","mid","avi","mpg","asf","rm","rmvb"};
        // ������������
        for (int i = 0; i < imgeArray.length; i++) {
            // �жϷ���ȫ�����͵ĳ���
            if (imgeArray[i].equals(extendName.toLowerCase())) {
                return true;
            }
        }
        return false;
    }



    public static String getFileExtendName(String fileName) {
        if (fileName.indexOf(".") < 0) {
            return "";
        }
        String extendName = fileName.substring(fileName.lastIndexOf(".") + 1,
                fileName.length());
        return extendName;
    }

    public static byte[] readKeyFile(){
        InputStream is = null;
        byte[] bytes = new byte[1024];
        try {
            is = ConfigHelper.class.getResourceAsStream("/key.dat");
            int len = is.read(bytes);
            byte[] des = new byte[len];
            for (int i=0;i<len;i++){
                des[i] = bytes[i];
            }
            return des;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }finally {
            if (is !=null){
                try {
                    is.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}